Shader "Ciconia Studio/Double Sided/Standard/Diffuse Bump" {
	Properties {
		_Diffusecolor ("Diffuse color", Vector) = (1,1,1,1)
		_MainTex ("Diffuse Map (Spec A)", 2D) = "white" {}
		_Speccolor ("Spec color", Vector) = (1,1,1,1)
		_SpecIntensity ("Spec Intensity", Range(0, 2)) = 0.2
		_Glossiness ("Glossiness", Range(0, 1)) = 0.5
		_BumpMap ("Normal Map", 2D) = "bump" {}
		_NormalIntensity ("Normal Intensity", Range(0, 2)) = 1
	}
	SubShader {
		Tags { "RenderType" = "Opaque" }
		Pass {
			Name "FORWARD"
			Tags { "LIGHTMODE" = "FORWARDBASE" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			Cull Off
			GpuProgramID 64271
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_2_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD10.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_2_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					out vec4 vs_TEXCOORD10;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD10.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD10.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat31 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat31);
					    u_xlat31 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat2.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat30 = u_xlat30 * u_xlat1.x;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz;
					    u_xlat5.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4.xyz = u_xlat5.xyz + vs_TEXCOORD10.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[6];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5.xyz = u_xlat6.xyz + vs_TEXCOORD10.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat3.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat11.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat11.xyz = u_xlat11.xyz * vec3(u_xlat34);
					    u_xlat2.xyz = u_xlat0.xxx * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat11.xyz + u_xlat1.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat34 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat34 = min(u_xlat34, 1.0);
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat4.z = sqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat34 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat34);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlatb35 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb35){
					        u_xlatb35 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb35)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat35 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat35 = max(u_xlat35, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat35);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat3);
					        u_xlat5.y = dot(u_xlat6, u_xlat3);
					        u_xlat5.z = dot(u_xlat4, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat3);
					        u_xlat5.y = dot(unity_SHAg, u_xlat3);
					        u_xlat5.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat4 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat35 = u_xlat3.y * u_xlat3.y;
					    u_xlat35 = u_xlat3.x * u_xlat3.x + (-u_xlat35);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat5.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat3.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = u_xlat0.xyz * vec3(u_xlat35);
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat0.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat0.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat34);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat0.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat5 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat5.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat34 = max(u_xlat0.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * _LightColor0.xyz;
					    u_xlat1.xyz = vec3(u_xlat35) * u_xlat1.xyz;
					    u_xlat6.xyz = u_xlat0.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.xyz = u_xlat5.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat33) * _LightColor0.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat17;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					float u_xlat40;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat0.x = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + u_xlat0.x;
					    u_xlat0.xyz = u_xlat3.xyz * (-u_xlat0.xxx) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat2.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat2.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlatb38 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb38){
					        u_xlatb38 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb38)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat38 = u_xlat5.y * 0.25;
					        u_xlat40 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat17 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat38 = max(u_xlat38, u_xlat40);
					        u_xlat5.x = min(u_xlat17, u_xlat38);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat3);
					        u_xlat6.y = dot(u_xlat7, u_xlat3);
					        u_xlat6.z = dot(u_xlat5, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat3);
					        u_xlat6.y = dot(unity_SHAg, u_xlat3);
					        u_xlat6.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat5 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat38 = u_xlat3.y * u_xlat3.y;
					    u_xlat38 = u_xlat3.x * u_xlat3.x + (-u_xlat38);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat6.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat0.xyz, u_xlat0.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = u_xlat0.xyz * vec3(u_xlat38);
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat0.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat0.xyz, u_xlat0.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat0.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat0.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat0.xyz, u_xlat37);
					        u_xlat0.x = u_xlat8.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat8.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat0.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat6 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = u_xlat6.w * _SpecIntensity;
					    u_xlat0.xyz = u_xlat0.xxx * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat0.y, u_xlat0.x);
					    u_xlat37 = max(u_xlat0.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat0.xyz * u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat0.xyz + u_xlat7.xyz;
					    u_xlat36 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat1.xyz = u_xlat6.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat37) * u_xlat1.xyz;
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					float u_xlat36;
					int u_xlati36;
					float u_xlat37;
					float u_xlat38;
					bool u_xlatb38;
					float u_xlat39;
					bool u_xlatb39;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat12.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat12.x = inversesqrt(u_xlat12.x);
					    u_xlat12.xyz = u_xlat12.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat12.xyz;
					    u_xlati36 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati36].xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat2.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat37 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat37);
					    u_xlat37 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat37 = u_xlat37 + u_xlat37;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat37)) + (-u_xlat2.xyz);
					    u_xlat37 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * _WorldSpaceLightPos0.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat1.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat4.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat36 = _Glossiness * 10.0 + 1.0;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat37 = (-_Glossiness) + 1.0;
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat38 = log2(u_xlat5.w);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat38);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat38) * u_xlat5.xyz;
					    u_xlat38 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat38);
					    u_xlat6 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat38 = u_xlat6.w * unity_DynamicLightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlat6.xyz = log2(u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat6.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat6.xyz = exp2(u_xlat6.xyz);
					    u_xlat7 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat38 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat38 = u_xlat38 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz;
					    u_xlat38 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat38);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlatb38 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb38){
					        u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat38 = inversesqrt(u_xlat38);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					        u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					        u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat7;
					            hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					            hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					            hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					            u_xlat7 = hlslcc_movcTemp;
					        }
					        u_xlat38 = min(u_xlat7.y, u_xlat7.x);
					        u_xlat38 = min(u_xlat7.z, u_xlat38);
					        u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat38) + u_xlat7.xyz;
					    } else {
					        u_xlat6.xyz = u_xlat2.xyz;
					    }
					    u_xlat38 = (-u_xlat37) * 0.699999988 + 1.70000005;
					    u_xlat37 = u_xlat37 * u_xlat38;
					    u_xlat37 = u_xlat37 * 6.0;
					    u_xlat6 = textureLod(unity_SpecCube0, u_xlat6.xyz, u_xlat37);
					    u_xlat38 = u_xlat6.w + -1.0;
					    u_xlat38 = unity_SpecCube0_HDR.w * u_xlat38 + 1.0;
					    u_xlat38 = log2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.y;
					    u_xlat38 = exp2(u_xlat38);
					    u_xlat38 = u_xlat38 * unity_SpecCube0_HDR.x;
					    u_xlat7.xyz = u_xlat6.xyz * vec3(u_xlat38);
					    u_xlatb39 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb39){
					        u_xlatb39 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb39){
					            u_xlat39 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat39 = inversesqrt(u_xlat39);
					            u_xlat8.xyz = u_xlat2.xyz * vec3(u_xlat39);
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					            u_xlat10.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					            u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat9;
					                hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					                hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					                hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					                u_xlat9 = hlslcc_movcTemp;
					            }
					            u_xlat39 = min(u_xlat9.y, u_xlat9.x);
					            u_xlat39 = min(u_xlat9.z, u_xlat39);
					            u_xlat9.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat39) + u_xlat9.xyz;
					        }
					        u_xlat8 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat37);
					        u_xlat37 = u_xlat8.w + -1.0;
					        u_xlat37 = unity_SpecCube1_HDR.w * u_xlat37 + 1.0;
					        u_xlat37 = log2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.y;
					        u_xlat37 = exp2(u_xlat37);
					        u_xlat37 = u_xlat37 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat8.xyz * vec3(u_xlat37);
					        u_xlat6.xyz = vec3(u_xlat38) * u_xlat6.xyz + (-u_xlat2.xyz);
					        u_xlat7.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat37 = u_xlat2.w * _SpecIntensity;
					    u_xlat6.xyz = vec3(u_xlat37) * _Speccolor.xyz;
					    u_xlat37 = max(u_xlat6.y, u_xlat6.x);
					    u_xlat37 = max(u_xlat6.z, u_xlat37);
					    u_xlat38 = u_xlat36 + 8.0;
					    u_xlat38 = u_xlat38 * 0.0397887342;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat1.x = max(u_xlat1.x, 0.0);
					    u_xlat1.x = log2(u_xlat1.x);
					    u_xlat36 = u_xlat36 * u_xlat1.x;
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat4.xyz;
					    u_xlat1.xyz = vec3(u_xlat38) * u_xlat1.xyz;
					    u_xlat7.xyz = u_xlat6.xyz * u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat12.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat12.xyz = u_xlat12.xyz * vec3(u_xlat37);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat12.xyz + u_xlat1.xyz;
					    u_xlat36 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat36) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					float u_xlat30;
					int u_xlati30;
					float u_xlat31;
					float u_xlat32;
					bool u_xlatb32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat30 = u_xlat30 + u_xlat30;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat30)) + (-u_xlat1.xyz);
					    u_xlat30 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat30) + u_xlat1.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat30 = _Glossiness * 10.0 + 1.0;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat31 = (-_Glossiness) + 1.0;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat32 = log2(u_xlat3.w);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat32);
					    u_xlat4 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat32) * u_xlat3.xyz;
					    u_xlat32 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat32);
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat32 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat32 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat32 = u_xlat32 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz;
					    u_xlat32 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat32);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb32 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb32){
					        u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat32 = inversesqrt(u_xlat32);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat32 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat32 = min(u_xlat5.z, u_xlat32);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat32) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat32 = (-u_xlat31) * 0.699999988 + 1.70000005;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat31 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat31);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat31);
					        u_xlat31 = u_xlat6.w + -1.0;
					        u_xlat31 = unity_SpecCube1_HDR.w * u_xlat31 + 1.0;
					        u_xlat31 = log2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.y;
					        u_xlat31 = exp2(u_xlat31);
					        u_xlat31 = u_xlat31 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat31);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat31 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat31) * _Speccolor.xyz;
					    u_xlat31 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat31 = max(u_xlat4.z, u_xlat31);
					    u_xlat32 = u_xlat30 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat30;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat31) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					bvec3 u_xlatb7;
					vec3 u_xlat8;
					bvec3 u_xlatb9;
					vec3 u_xlat10;
					vec3 u_xlat13;
					float u_xlat14;
					float u_xlat30;
					int u_xlati30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					bool u_xlatb33;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat10.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat10.x = inversesqrt(u_xlat10.x);
					    u_xlat10.xyz = u_xlat10.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat10.xyz;
					    u_xlati30 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati30].xyz;
					    u_xlat30 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat30 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat30 = min(u_xlat30, 1.0);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat3.z = sqrt(u_xlat30);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat31 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat31 = u_xlat31 + u_xlat31;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat31)) + (-u_xlat1.xyz);
					    u_xlat31 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat31) + u_xlat1.xyz;
					    u_xlat31 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat1.xyz = vec3(u_xlat31) * u_xlat1.xyz;
					    u_xlat31 = _Glossiness * 10.0 + 1.0;
					    u_xlat31 = exp2(u_xlat31);
					    u_xlat32 = (-_Glossiness) + 1.0;
					    u_xlatb3 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb3){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat13.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat13.xyz;
					        u_xlat13.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat13.xyz;
					        u_xlat13.xyz = u_xlat13.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat13.xyz : vs_TEXCOORD3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat13.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat14 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat13.x = max(u_xlat13.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat14, u_xlat13.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat30 = u_xlat0.y * u_xlat0.y;
					    u_xlat30 = u_xlat0.x * u_xlat0.x + (-u_xlat30);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat30 = log2(u_xlat4.w);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.y;
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat30 = u_xlat30 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat4 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat30 = u_xlat4.w * unity_DynamicLightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30);
					    u_xlat4.xyz = log2(u_xlat4.xyz);
					    u_xlat4.xyz = u_xlat4.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat4.xyz = exp2(u_xlat4.xyz);
					    u_xlat5 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat30 = u_xlat30 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat30) * u_xlat4.xyz;
					    u_xlat30 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat30);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlatb30 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb30){
					        u_xlat30 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat30 = inversesqrt(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat30) * u_xlat2.xyz;
					        u_xlat5.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat5.xyz = u_xlat5.xyz / u_xlat4.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat4.xyz;
					        u_xlatb7.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat4.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat5;
					            hlslcc_movcTemp.x = (u_xlatb7.x) ? u_xlat5.x : u_xlat6.x;
					            hlslcc_movcTemp.y = (u_xlatb7.y) ? u_xlat5.y : u_xlat6.y;
					            hlslcc_movcTemp.z = (u_xlatb7.z) ? u_xlat5.z : u_xlat6.z;
					            u_xlat5 = hlslcc_movcTemp;
					        }
					        u_xlat30 = min(u_xlat5.y, u_xlat5.x);
					        u_xlat30 = min(u_xlat5.z, u_xlat30);
					        u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat30) + u_xlat5.xyz;
					    } else {
					        u_xlat4.xyz = u_xlat2.xyz;
					    }
					    u_xlat30 = (-u_xlat32) * 0.699999988 + 1.70000005;
					    u_xlat30 = u_xlat30 * u_xlat32;
					    u_xlat30 = u_xlat30 * 6.0;
					    u_xlat4 = textureLod(unity_SpecCube0, u_xlat4.xyz, u_xlat30);
					    u_xlat32 = u_xlat4.w + -1.0;
					    u_xlat32 = unity_SpecCube0_HDR.w * u_xlat32 + 1.0;
					    u_xlat32 = log2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.y;
					    u_xlat32 = exp2(u_xlat32);
					    u_xlat32 = u_xlat32 * unity_SpecCube0_HDR.x;
					    u_xlat5.xyz = u_xlat4.xyz * vec3(u_xlat32);
					    u_xlatb33 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb33){
					        u_xlatb33 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb33){
					            u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat33 = inversesqrt(u_xlat33);
					            u_xlat6.xyz = u_xlat2.xyz * vec3(u_xlat33);
					            u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat7.xyz = u_xlat7.xyz / u_xlat6.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat6.xyz;
					            u_xlatb9.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat6.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat7;
					                hlslcc_movcTemp.x = (u_xlatb9.x) ? u_xlat7.x : u_xlat8.x;
					                hlslcc_movcTemp.y = (u_xlatb9.y) ? u_xlat7.y : u_xlat8.y;
					                hlslcc_movcTemp.z = (u_xlatb9.z) ? u_xlat7.z : u_xlat8.z;
					                u_xlat7 = hlslcc_movcTemp;
					            }
					            u_xlat33 = min(u_xlat7.y, u_xlat7.x);
					            u_xlat33 = min(u_xlat7.z, u_xlat33);
					            u_xlat7.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat30);
					        u_xlat30 = u_xlat6.w + -1.0;
					        u_xlat30 = unity_SpecCube1_HDR.w * u_xlat30 + 1.0;
					        u_xlat30 = log2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.y;
					        u_xlat30 = exp2(u_xlat30);
					        u_xlat30 = u_xlat30 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat6.xyz * vec3(u_xlat30);
					        u_xlat4.xyz = vec3(u_xlat32) * u_xlat4.xyz + (-u_xlat2.xyz);
					        u_xlat5.xyz = unity_SpecCube0_BoxMin.www * u_xlat4.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat30 = u_xlat2.w * _SpecIntensity;
					    u_xlat4.xyz = vec3(u_xlat30) * _Speccolor.xyz;
					    u_xlat30 = max(u_xlat4.y, u_xlat4.x);
					    u_xlat30 = max(u_xlat4.z, u_xlat30);
					    u_xlat32 = u_xlat31 + 8.0;
					    u_xlat32 = u_xlat32 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat32) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat30) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					bool u_xlatb12;
					vec3 u_xlat15;
					float u_xlat23;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					int u_xlati36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat2.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat2.xyz;
					    u_xlat34 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlati36 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati36 / 4][u_xlati36 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati36 + 1) / 4][(u_xlati36 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati36 + 2) / 4][(u_xlati36 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb12 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb12){
					        u_xlatb12 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb12)) ? u_xlat5.xyz : vs_TEXCOORD3.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12 = u_xlat5.y * 0.25;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat36 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat12 = max(u_xlat23, u_xlat12);
					        u_xlat5.x = min(u_xlat36, u_xlat12);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					        u_xlat7.xyz = u_xlat5.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat5.xyz = u_xlat5.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(u_xlat6, u_xlat0);
					        u_xlat6.y = dot(u_xlat7, u_xlat0);
					        u_xlat6.z = dot(u_xlat5, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat6.x = dot(unity_SHAr, u_xlat0);
					        u_xlat6.y = dot(unity_SHAg, u_xlat0);
					        u_xlat6.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat5 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat7.x = dot(unity_SHBr, u_xlat5);
					    u_xlat7.y = dot(unity_SHBg, u_xlat5);
					    u_xlat7.z = dot(unity_SHBb, u_xlat5);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat5.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat5.xyz = max(u_xlat5.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat6.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat33);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat7.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat33) * u_xlat6.xyz;
					    u_xlat33 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat33);
					    u_xlat5.xyz = u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat33 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat33 = u_xlat33 * u_xlat1.x;
					    u_xlat1.xyz = (-vec3(u_xlat33)) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat33);
					        u_xlat33 = u_xlat3.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat33 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat2.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					    u_xlat6.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat5.xyz + u_xlat6.xyz;
					    u_xlat0.x = max(u_xlat0.y, 0.0);
					    u_xlat3.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat11.x = (-u_xlat33) + 1.0;
					    u_xlat11.xyz = u_xlat11.xxx * u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat11.xyz + u_xlat2.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat12;
					vec3 u_xlat15;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					int u_xlati35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat3 = texture(_BumpMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat4.xy = u_xlat3.xy + u_xlat3.xy;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat4.z = sqrt(u_xlat33);
					    u_xlat3.xyz = u_xlat4.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat3.xyz = vec3(_NormalIntensity) * u_xlat3.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat3.yyy * vs_TEXCOORD6.xyz;
					    u_xlat3.xyw = u_xlat3.xxx * vs_TEXCOORD5.xyz + u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat3.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat2.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat3.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat2.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat2.xyz;
					    u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat2.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat4 = texture(_ShadowMapTexture, u_xlat4.xy);
					    u_xlat15.xyz = u_xlat4.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlati35 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati35 / 4][u_xlati35 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati35 + 1) / 4][(u_xlati35 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati35 + 2) / 4][(u_xlati35 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD3.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat12 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat12 = sqrt(u_xlat12);
					    u_xlat12 = (-u_xlat1.x) + u_xlat12;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat12 + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat4.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat12 = log2(u_xlat5.w);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.y;
					    u_xlat12 = exp2(u_xlat12);
					    u_xlat12 = u_xlat12 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat12);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat12 = u_xlat12 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat12) * u_xlat5.xyz;
					    u_xlat12 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat12);
					    u_xlat12 = dot(u_xlat0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat12;
					    u_xlat1.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat5.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, unity_ShadowColor.xyz);
					    u_xlat6.xyz = (-u_xlat1.xyz) + u_xlat5.xyz;
					    u_xlat1.xyz = _LightShadowData.xxx * u_xlat6.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = min(u_xlat1.xyz, u_xlat5.xyz);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat3.xyz, u_xlat3.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat3.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat3.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat3.xyz, u_xlat3.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = vec3(u_xlat36) * u_xlat3.xyz;
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat3 = textureLod(unity_SpecCube1, u_xlat3.xyz, u_xlat34);
					        u_xlat34 = u_xlat3.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat3.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat3.xyz;
					    }
					    u_xlat3.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = texture(_MainTex, u_xlat3.xy);
					    u_xlat34 = u_xlat3.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat0.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat15.xyz;
					    u_xlat0.xzw = vec3(u_xlat35) * u_xlat0.xzw;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xzw = u_xlat0.xzw * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * _Diffusecolor.xyz;
					    u_xlat34 = (-u_xlat34) + 1.0;
					    u_xlat2.xyz = vec3(u_xlat34) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * u_xlat15.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + u_xlat0.xzw;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat15;
					float u_xlat33;
					int u_xlati33;
					bool u_xlatb33;
					float u_xlat34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat34 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat34 = u_xlat34 + u_xlat34;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat34)) + (-u_xlat1.xyz);
					    u_xlat34 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat34) + u_xlat1.xyz;
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = inversesqrt(u_xlat34);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat34 = _Glossiness * 10.0 + 1.0;
					    u_xlat34 = exp2(u_xlat34);
					    u_xlat35 = (-_Glossiness) + 1.0;
					    u_xlatb36 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb36){
					        u_xlatb36 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat4.xyz = vs_TEXCOORD3.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD3.xxx + u_xlat4.xyz;
					        u_xlat4.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.zzz + u_xlat4.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat4.xyz = (bool(u_xlatb36)) ? u_xlat4.xyz : vs_TEXCOORD3.xyz;
					        u_xlat4.xyz = u_xlat4.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat4.yzw = u_xlat4.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat36 = u_xlat4.y * 0.25;
					        u_xlat15 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat5.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat36 = max(u_xlat36, u_xlat15);
					        u_xlat4.x = min(u_xlat5.x, u_xlat36);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat4.xzw);
					        u_xlat6.xyz = u_xlat4.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat4.xyz = u_xlat4.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat4.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(u_xlat5, u_xlat0);
					        u_xlat5.y = dot(u_xlat6, u_xlat0);
					        u_xlat5.z = dot(u_xlat4, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat5.x = dot(unity_SHAr, u_xlat0);
					        u_xlat5.y = dot(unity_SHAg, u_xlat0);
					        u_xlat5.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat4 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat6.x = dot(unity_SHBr, u_xlat4);
					    u_xlat6.y = dot(unity_SHBg, u_xlat4);
					    u_xlat6.z = dot(unity_SHBb, u_xlat4);
					    u_xlat33 = u_xlat0.y * u_xlat0.y;
					    u_xlat33 = u_xlat0.x * u_xlat0.x + (-u_xlat33);
					    u_xlat4.xyz = unity_SHC.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat4.xyz = max(u_xlat4.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat33 = log2(u_xlat5.w);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.y;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat33 = u_xlat33 * unity_Lightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat6 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat33 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat33 = u_xlat33 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat33) * u_xlat5.xyz;
					    u_xlat33 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat33);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb33 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb33){
					        u_xlat33 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat33 = inversesqrt(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat33) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat33 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat33 = min(u_xlat6.z, u_xlat33);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat33) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat33 = (-u_xlat35) * 0.699999988 + 1.70000005;
					    u_xlat33 = u_xlat33 * u_xlat35;
					    u_xlat33 = u_xlat33 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat33);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat33);
					        u_xlat33 = u_xlat7.w + -1.0;
					        u_xlat33 = unity_SpecCube1_HDR.w * u_xlat33 + 1.0;
					        u_xlat33 = log2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.y;
					        u_xlat33 = exp2(u_xlat33);
					        u_xlat33 = u_xlat33 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat33);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat33 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat33) * _Speccolor.xyz;
					    u_xlat33 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat33 = max(u_xlat5.z, u_xlat33);
					    u_xlat35 = u_xlat34 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat34;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					in  vec4 vs_TEXCOORD10;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					bvec3 u_xlatb8;
					vec3 u_xlat9;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					float u_xlat33;
					int u_xlati33;
					float u_xlat34;
					float u_xlat35;
					bool u_xlatb35;
					float u_xlat36;
					bool u_xlatb36;
					void main()
					{
					    u_xlat0.x = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat11.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat11.x = inversesqrt(u_xlat11.x);
					    u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD4.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat11.xyz;
					    u_xlati33 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati33].xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat2 = texture(_BumpMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat3.xy = u_xlat2.xy + u_xlat2.xy;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat33 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat33 = min(u_xlat33, 1.0);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat3.z = sqrt(u_xlat33);
					    u_xlat2.xyz = u_xlat3.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat2.xyz = vec3(_NormalIntensity) * u_xlat2.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat2.yyy * vs_TEXCOORD6.xyz;
					    u_xlat2.xyw = u_xlat2.xxx * vs_TEXCOORD5.xyz + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat2.zzz * u_xlat0.xyz + u_xlat2.xyw;
					    u_xlat33 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat0.xyz = vec3(u_xlat33) * u_xlat0.xyz;
					    u_xlat33 = dot((-u_xlat1.xyz), u_xlat0.xyz);
					    u_xlat33 = u_xlat33 + u_xlat33;
					    u_xlat2.xyz = u_xlat0.xyz * (-vec3(u_xlat33)) + (-u_xlat1.xyz);
					    u_xlat33 = dot(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = _WorldSpaceLightPos0.xyz * vec3(u_xlat33) + u_xlat1.xyz;
					    u_xlat33 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat33 = inversesqrt(u_xlat33);
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat3 = texture(_ShadowMapTexture, u_xlat3.xy);
					    u_xlat3.xyz = u_xlat3.xxx * _LightColor0.xyz;
					    u_xlat33 = _Glossiness * 10.0 + 1.0;
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat34 = (-_Glossiness) + 1.0;
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD10.xy);
					    u_xlat35 = log2(u_xlat4.w);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat35);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD10.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat35) * u_xlat4.xyz;
					    u_xlat35 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat35);
					    u_xlat5 = texture(unity_DynamicLightmap, vs_TEXCOORD10.zw);
					    u_xlat35 = u_xlat5.w * unity_DynamicLightmap_HDR.x;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlat5.xyz = log2(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat5.xyz = exp2(u_xlat5.xyz);
					    u_xlat6 = texture(unity_DynamicDirectionality, vs_TEXCOORD10.zw);
					    u_xlat6.xyz = u_xlat6.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat35 = dot(u_xlat0.xyz, u_xlat6.xyz);
					    u_xlat35 = u_xlat35 + 0.5;
					    u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz;
					    u_xlat35 = max(u_xlat6.w, 9.99999975e-05);
					    u_xlat5.xyz = u_xlat5.xyz / vec3(u_xlat35);
					    u_xlat4.xyz = u_xlat4.xyz + u_xlat5.xyz;
					    u_xlatb35 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb35){
					        u_xlat35 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat35 = inversesqrt(u_xlat35);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat2.xyz;
					        u_xlat6.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat6.xyz = u_xlat6.xyz / u_xlat5.xyz;
					        u_xlat7.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat7.xyz = u_xlat7.xyz / u_xlat5.xyz;
					        u_xlatb8.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat5.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat6;
					            hlslcc_movcTemp.x = (u_xlatb8.x) ? u_xlat6.x : u_xlat7.x;
					            hlslcc_movcTemp.y = (u_xlatb8.y) ? u_xlat6.y : u_xlat7.y;
					            hlslcc_movcTemp.z = (u_xlatb8.z) ? u_xlat6.z : u_xlat7.z;
					            u_xlat6 = hlslcc_movcTemp;
					        }
					        u_xlat35 = min(u_xlat6.y, u_xlat6.x);
					        u_xlat35 = min(u_xlat6.z, u_xlat35);
					        u_xlat6.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat35) + u_xlat6.xyz;
					    } else {
					        u_xlat5.xyz = u_xlat2.xyz;
					    }
					    u_xlat35 = (-u_xlat34) * 0.699999988 + 1.70000005;
					    u_xlat34 = u_xlat34 * u_xlat35;
					    u_xlat34 = u_xlat34 * 6.0;
					    u_xlat5 = textureLod(unity_SpecCube0, u_xlat5.xyz, u_xlat34);
					    u_xlat35 = u_xlat5.w + -1.0;
					    u_xlat35 = unity_SpecCube0_HDR.w * u_xlat35 + 1.0;
					    u_xlat35 = log2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.y;
					    u_xlat35 = exp2(u_xlat35);
					    u_xlat35 = u_xlat35 * unity_SpecCube0_HDR.x;
					    u_xlat6.xyz = u_xlat5.xyz * vec3(u_xlat35);
					    u_xlatb36 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb36){
					        u_xlatb36 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb36){
					            u_xlat36 = dot(u_xlat2.xyz, u_xlat2.xyz);
					            u_xlat36 = inversesqrt(u_xlat36);
					            u_xlat7.xyz = u_xlat2.xyz * vec3(u_xlat36);
					            u_xlat8.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					            u_xlat9.xyz = (-vs_TEXCOORD3.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					            u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat8;
					                hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					                hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					                hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					                u_xlat8 = hlslcc_movcTemp;
					            }
					            u_xlat36 = min(u_xlat8.y, u_xlat8.x);
					            u_xlat36 = min(u_xlat8.z, u_xlat36);
					            u_xlat8.xyz = vs_TEXCOORD3.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat36) + u_xlat8.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat2.xyz, u_xlat34);
					        u_xlat34 = u_xlat7.w + -1.0;
					        u_xlat34 = unity_SpecCube1_HDR.w * u_xlat34 + 1.0;
					        u_xlat34 = log2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.y;
					        u_xlat34 = exp2(u_xlat34);
					        u_xlat34 = u_xlat34 * unity_SpecCube1_HDR.x;
					        u_xlat2.xyz = u_xlat7.xyz * vec3(u_xlat34);
					        u_xlat5.xyz = vec3(u_xlat35) * u_xlat5.xyz + (-u_xlat2.xyz);
					        u_xlat6.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat2.xyz;
					    }
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = texture(_MainTex, u_xlat2.xy);
					    u_xlat34 = u_xlat2.w * _SpecIntensity;
					    u_xlat5.xyz = vec3(u_xlat34) * _Speccolor.xyz;
					    u_xlat34 = max(u_xlat5.y, u_xlat5.x);
					    u_xlat34 = max(u_xlat5.z, u_xlat34);
					    u_xlat35 = u_xlat33 + 8.0;
					    u_xlat35 = u_xlat35 * 0.0397887342;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * u_xlat33;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat35) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat5.xyz * u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat5.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat2.xyz * _Diffusecolor.xyz;
					    u_xlat33 = (-u_xlat34) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat33) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat33 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat33 = u_xlat33 * _ProjectionParams.z;
					    u_xlat33 = max(u_xlat33, 0.0);
					    u_xlat33 = u_xlat33 * unity_FogParams.x;
					    u_xlat33 = u_xlat33 * (-u_xlat33);
					    u_xlat33 = exp2(u_xlat33);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat33) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Name "FORWARD_DELTA"
			Tags { "LIGHTMODE" = "FORWARDADD" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			Blend One One, One One
			Cull Off
			GpuProgramID 97320
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD8.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    vs_TEXCOORD6.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat1.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat1.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat1.xy;
					    u_xlat1.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat1.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat1.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat1.zxy + (-u_xlat2.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[7];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_1_2[14];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD7 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat1 = unity_WorldToShadow[0 / 4][0 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToShadow[2 / 4][2 % 4] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD8 = unity_WorldToShadow[3 / 4][3 % 4] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[5];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD9 = u_xlat0.z;
					    vs_TEXCOORD8.zw = u_xlat0.zw;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    vs_TEXCOORD6.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    vs_TEXCOORD8.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec2 vs_TEXCOORD7;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out float vs_TEXCOORD9;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    u_xlat2.xy = u_xlat0.yy * unity_WorldToLight[1].xy;
					    u_xlat2.xy = unity_WorldToLight[0].xy * u_xlat0.xx + u_xlat2.xy;
					    u_xlat2.xy = unity_WorldToLight[2].xy * u_xlat0.zz + u_xlat2.xy;
					    vs_TEXCOORD7.xy = unity_WorldToLight[3].xy * u_xlat0.ww + u_xlat2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD9 = u_xlat1.z;
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx;
					    u_xlat0.xyz = u_xlat0.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * in_TANGENT0.www;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    vs_TEXCOORD6.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD8.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD8.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[2];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0;
						vec4 _LightPositionRange;
						vec4 unused_1_2[46];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TANGENT0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out float vs_TEXCOORD9;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					out vec3 vs_TEXCOORD7;
					out vec3 vs_TEXCOORD8;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD9 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    vs_TEXCOORD3 = u_xlat0;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    vs_TEXCOORD5.xyz = u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat1.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * in_TANGENT0.www;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    vs_TEXCOORD6.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD7.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat1.xyz;
					    vs_TEXCOORD8.xyz = u_xlat0.xyz + (-_LightPositionRange.xyz);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, vec2(u_xlat16));
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec2 u_xlat8;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat8.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat8.xy, u_xlat8.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat13 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat2.xyz = vec3(u_xlat12) * _LightColor0.xyz;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat3.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    u_xlat12 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(u_xlat12) + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat4 = _Glossiness * 10.0 + 1.0;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat0.x = u_xlat0.x * u_xlat4;
					    u_xlat4 = u_xlat4 + 8.0;
					    u_xlat4 = u_xlat4 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat12 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat3.xyz = vec3(u_xlat12) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz;
					    u_xlat12 = max(u_xlat3.y, u_xlat3.x);
					    u_xlat12 = max(u_xlat3.z, u_xlat12);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat12 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat12 = u_xlat12 * _ProjectionParams.z;
					    u_xlat12 = max(u_xlat12, 0.0);
					    u_xlat12 = u_xlat12 * unity_FogParams.x;
					    u_xlat12 = u_xlat12 * (-u_xlat12);
					    u_xlat12 = exp2(u_xlat12);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, vec2(u_xlat16));
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat2.xyz = u_xlat2.www * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					float u_xlat7;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					bool u_xlatb16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat2.xy = u_xlat2.xy + vec2(0.5, 0.5);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xy);
					    u_xlatb16 = 0.0<vs_TEXCOORD7.z;
					    u_xlat16 = u_xlatb16 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat2.w * u_xlat16;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    vec3 txVec0 = vec3(u_xlat2.xy,u_xlat2.z);
					    u_xlat2.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat7 = (-_LightShadowData.x) + 1.0;
					    u_xlat2.x = u_xlat2.x * u_xlat7 + _LightShadowData.x;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _ShadowMapTexture_TexelSize;
						vec4 unused_0_2[4];
						vec4 _LightColor0;
						vec4 unused_0_4;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec2 u_xlat6;
					bool u_xlatb6;
					float u_xlat12;
					vec2 u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0.xyz = vs_TEXCOORD8.xyz / vs_TEXCOORD8.www;
					    u_xlat1.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat1.xy = floor(u_xlat1.xy);
					    u_xlat0.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat1.xy);
					    u_xlat13.xy = (-u_xlat0.xy) + vec2(1.0, 1.0);
					    u_xlat2.xy = min(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat2.xy = (-u_xlat2.xy) * u_xlat2.xy + u_xlat13.xy;
					    u_xlat3.y = u_xlat2.x;
					    u_xlat13.xy = max(u_xlat0.xy, vec2(0.0, 0.0));
					    u_xlat4 = u_xlat0.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat2.xz = (-u_xlat13.xy) * u_xlat13.xy + u_xlat4.yw;
					    u_xlat13.xy = u_xlat4.xz * u_xlat4.xz;
					    u_xlat3.z = u_xlat2.x;
					    u_xlat0.xy = u_xlat13.xy * vec2(0.5, 0.5) + (-u_xlat0.xy);
					    u_xlat3.x = u_xlat0.x;
					    u_xlat2.x = u_xlat0.y;
					    u_xlat3.w = u_xlat13.x;
					    u_xlat2.w = u_xlat13.y;
					    u_xlat2 = u_xlat2 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat3 = u_xlat3 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat4 = u_xlat3.ywyw + u_xlat3.xzxz;
					    u_xlat0.xy = u_xlat3.yw / u_xlat4.zw;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.xy = u_xlat0.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat5 = u_xlat2.yyww + u_xlat2.xxzz;
					    u_xlat0.xy = u_xlat2.yw / u_xlat5.yw;
					    u_xlat2 = u_xlat4 * u_xlat5;
					    u_xlat0.xy = u_xlat0.xy + vec2(-1.5, 0.5);
					    u_xlat3.zw = u_xlat0.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat4 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xzyz;
					    u_xlat1 = u_xlat1.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat3.xwyw;
					    vec3 txVec0 = vec3(u_xlat4.xy,u_xlat0.z);
					    u_xlat0.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat4.zw,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat6.x = u_xlat6.x * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat0.x + u_xlat6.x;
					    vec3 txVec2 = vec3(u_xlat1.xy,u_xlat0.z);
					    u_xlat6.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    vec3 txVec3 = vec3(u_xlat1.zw,u_xlat0.z);
					    u_xlat12 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = u_xlat2.z * u_xlat6.x + u_xlat0.x;
					    u_xlat0.x = u_xlat2.w * u_xlat12 + u_xlat0.x;
					    u_xlat6.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x + _LightShadowData.x;
					    u_xlat6.xy = vs_TEXCOORD7.xy / vs_TEXCOORD7.ww;
					    u_xlat6.xy = u_xlat6.xy + vec2(0.5, 0.5);
					    u_xlat1 = texture(_LightTexture0, u_xlat6.xy);
					    u_xlatb6 = 0.0<vs_TEXCOORD7.z;
					    u_xlat6.x = u_xlatb6 ? 1.0 : float(0.0);
					    u_xlat6.x = u_xlat1.w * u_xlat6.x;
					    u_xlat12 = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, vec2(u_xlat12));
					    u_xlat6.x = u_xlat6.x * u_xlat1.x;
					    u_xlat0.x = u_xlat0.x * u_xlat6.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat13.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat18 = dot(u_xlat13.xy, u_xlat13.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat2.z = sqrt(u_xlat18);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat18 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * vs_TEXCOORD4.xyz;
					    u_xlat18 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    u_xlati18 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati18].xyz;
					    u_xlat18 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat18) + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = log2(u_xlat18);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat0.xyz = vec3(u_xlat18) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat18 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat18) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat18 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat18 = max(u_xlat2.z, u_xlat18);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat18 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat18 = u_xlat18 * _ProjectionParams.z;
					    u_xlat18 = max(u_xlat18, 0.0);
					    u_xlat18 = u_xlat18 * unity_FogParams.x;
					    u_xlat18 = u_xlat18 * (-u_xlat18);
					    u_xlat18 = exp2(u_xlat18);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat18);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat2.xyz = u_xlat2.xxx * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					in  vec2 vs_TEXCOORD7;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  float vs_TEXCOORD9;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat2.xy = vs_TEXCOORD8.xy / vs_TEXCOORD8.ww;
					    u_xlat2 = texture(_ShadowMapTexture, u_xlat2.xy);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xy);
					    u_xlat16 = u_xlat2.x * u_xlat3.w;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTexture0, u_xlat5.xx);
					    u_xlat0.x = u_xlat0.x * u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					vec2 u_xlat10;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat0 = texture(_BumpMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat10.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat1.xy = u_xlat0.xy + u_xlat0.xy;
					    u_xlat0.x = dot(u_xlat10.xy, u_xlat10.xy);
					    u_xlat0.x = min(u_xlat0.x, 1.0);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat1.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat0.xyz = vec3(_NormalIntensity) * u_xlat0.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat1.xyz = u_xlat0.yyy * vs_TEXCOORD6.xyz;
					    u_xlat0.xyw = u_xlat0.xxx * vs_TEXCOORD5.xyz + u_xlat1.xyz;
					    u_xlat1.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD4.xyz;
					    u_xlat16 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat1.xyz = vec3(u_xlat16) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.zzz * u_xlat1.xyz + u_xlat0.xyw;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat1.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat16 = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat16 = max(u_xlat16, abs(vs_TEXCOORD8.z));
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.z);
					    u_xlat16 = max(u_xlat16, 9.99999975e-06);
					    u_xlat16 = u_xlat16 * _LightProjectionParams.w;
					    u_xlat16 = _LightProjectionParams.y / u_xlat16;
					    u_xlat16 = u_xlat16 + (-_LightProjectionParams.x);
					    u_xlat16 = (-u_xlat16) + 1.0;
					    vec4 txVec0 = vec4(vs_TEXCOORD8.xyz,u_xlat16);
					    u_xlat16 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat2.x = (-_LightShadowData.x) + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat2.x + _LightShadowData.x;
					    u_xlat2.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat3 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat3.w;
					    u_xlat16 = u_xlat16 * u_xlat2.x;
					    u_xlat2.xyz = vec3(u_xlat16) * _LightColor0.xyz;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = max(u_xlat0.x, 0.0);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat5 = _Glossiness * 10.0 + 1.0;
					    u_xlat5 = exp2(u_xlat5);
					    u_xlat0.x = u_xlat0.x * u_xlat5;
					    u_xlat5 = u_xlat5 + 8.0;
					    u_xlat5 = u_xlat5 * 0.0397887342;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat5) * u_xlat0.xzw;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_4_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _BumpMap_ST;
						float _NormalIntensity;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[45];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					uniform  sampler2D _BumpMap;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D _MainTex;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD9;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec3 vs_TEXCOORD5;
					in  vec3 vs_TEXCOORD6;
					in  vec3 vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD8;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat11;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlat0.x = max(abs(vs_TEXCOORD8.y), abs(vs_TEXCOORD8.x));
					    u_xlat0.x = max(u_xlat0.x, abs(vs_TEXCOORD8.z));
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.z);
					    u_xlat0.x = max(u_xlat0.x, 9.99999975e-06);
					    u_xlat0.x = u_xlat0.x * _LightProjectionParams.w;
					    u_xlat0.x = _LightProjectionParams.y / u_xlat0.x;
					    u_xlat0.x = u_xlat0.x + (-_LightProjectionParams.x);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat5.xyz = vs_TEXCOORD8.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat5.xyz,u_xlat0.x);
					    u_xlat1.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat0.x = dot(u_xlat1, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat5.x = (-_LightShadowData.x) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x + _LightShadowData.x;
					    u_xlat5.x = dot(vs_TEXCOORD7.xyz, vs_TEXCOORD7.xyz);
					    u_xlat1 = texture(_LightTextureB0, u_xlat5.xx);
					    u_xlat2 = texture(_LightTexture0, vs_TEXCOORD7.xyz);
					    u_xlat5.x = u_xlat1.x * u_xlat2.w;
					    u_xlat0.x = u_xlat0.x * u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xxx * _LightColor0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
					    u_xlat1 = texture(_BumpMap, u_xlat1.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat11.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xy = u_xlat1.xy + u_xlat1.xy;
					    u_xlat15 = dot(u_xlat11.xy, u_xlat11.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat2.z = sqrt(u_xlat15);
					    u_xlat1.xyz = u_xlat2.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat1.xyz = vec3(_NormalIntensity) * u_xlat1.xyz + vec3(0.0, 0.0, 1.0);
					    u_xlat2.xyz = u_xlat1.yyy * vs_TEXCOORD6.xyz;
					    u_xlat1.xyw = u_xlat1.xxx * vs_TEXCOORD5.xyz + u_xlat2.xyz;
					    u_xlat15 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * vs_TEXCOORD4.xyz;
					    u_xlat15 = ((gl_FrontFacing ? 0xffffffffu : uint(0)) != uint(0)) ? 1.0 : -1.0;
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat1.xyz = u_xlat1.zzz * u_xlat2.xyz + u_xlat1.xyw;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat2.xyz = _WorldSpaceLightPos0.www * (-vs_TEXCOORD3.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat3.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat4.xyz = (-vs_TEXCOORD3.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat15 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = u_xlat4.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = log2(u_xlat15);
					    u_xlat1.x = _Glossiness * 10.0 + 1.0;
					    u_xlat1.x = exp2(u_xlat1.x);
					    u_xlat15 = u_xlat15 * u_xlat1.x;
					    u_xlat1.x = u_xlat1.x + 8.0;
					    u_xlat1.x = u_xlat1.x * 0.0397887342;
					    u_xlat15 = exp2(u_xlat15);
					    u_xlat0.xyz = vec3(u_xlat15) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat1.xy);
					    u_xlat15 = u_xlat1.w * _SpecIntensity;
					    u_xlat1.xyz = u_xlat1.xyz * _Diffusecolor.xyz;
					    u_xlat2.xyz = vec3(u_xlat15) * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat15 = max(u_xlat2.y, u_xlat2.x);
					    u_xlat15 = max(u_xlat2.z, u_xlat15);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat15 = vs_TEXCOORD9 / _ProjectionParams.y;
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat15 = u_xlat15 * _ProjectionParams.z;
					    u_xlat15 = max(u_xlat15, 0.0);
					    u_xlat15 = u_xlat15 * unity_FogParams.x;
					    u_xlat15 = u_xlat15 * (-u_xlat15);
					    u_xlat15 = exp2(u_xlat15);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat15);
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Name "ShadowCaster"
			Tags { "LIGHTMODE" = "SHADOWCASTER" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			Cull Off
			Offset 1, 1
			GpuProgramID 170059
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat4 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat4);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat4) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat4;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityShadows {
						vec4 unused_0_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_0_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			Name "Meta"
			Tags { "LIGHTMODE" = "META" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			Cull Off
			GpuProgramID 251981
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_3_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					in  vec2 in_TEXCOORD1;
					in  vec2 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD1;
					out vec2 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					int u_xlati6;
					bool u_xlatb6;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb6 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb6 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati6 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati6 + 1) / 4][(u_xlati6 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati6 / 4][u_xlati6 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati6 + 2) / 4][(u_xlati6 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati6 + 3) / 4][(u_xlati6 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    vs_TEXCOORD1.xy = in_TEXCOORD1.xy;
					    vs_TEXCOORD2.xy = in_TEXCOORD2.xy;
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    vs_TEXCOORD3 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_SEPARATE" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_OFF" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_OFF" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 _MainTex_ST;
						vec4 _Diffusecolor;
						vec4 _Speccolor;
						float _SpecIntensity;
						float _Glossiness;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = (-_Glossiness) + 1.0;
					    u_xlat0.x = u_xlat0.x * u_xlat0.x;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat1 = texture(_MainTex, u_xlat2.xy);
					    u_xlat2.x = u_xlat1.w * _SpecIntensity;
					    u_xlat2.xyz = u_xlat2.xxx * _Speccolor.xyz;
					    u_xlat0.xyz = u_xlat2.xyz * u_xlat0.xxx;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat1.xyz * _Diffusecolor.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat6 = unity_OneOverOutputBoost;
					    u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
			}
		}
	}
	Fallback "Diffuse"
}